package com.qianyu.project.utils;

import io.swagger.annotations.ApiModel;

import java.util.HashMap;

/**
 * @Author gs
 * @desc
 */
@ApiModel
public class Result extends HashMap<String,Object> {

    /**
     * <p> 成功的方法
     * @Author gs
     * @Date 2020/8/12 11:57
     */
    public Result success(String message){
        return this.setMessage(message).setCode(0);
    }
    public Result success(){
        return this.setCode(0);
    }

    /**
     * <p> 失败的方法
     * @Author gs
     * @Date 2020/8/12 11:57
     */
    public Result error(String message){
        return this.setMessage(message).setCode(400);
    }
    public Result error(){
        return this.setCode(400);
    }

    /**
     * <p> 存数据的方法
     * @Author gs
     * @Date 2020/8/12 11:57
     */
    public Result put(Object data){
        super.put("data",data);
        return this;
    }
    
    /**
     * 设置数据长度的方法
     * @author gs
     * @param count
     * @return
     * Result
     * 2020年8月22日 上午7:57:16
     */
    public Result setCount(Integer count) {
    	super.put("count", count);
    	return this;
    }
    
    /**
     * 存指定名字数据的方法
     * @author gs
     * @param key
     * @param value
     * @return
     * Result
     * 2020年8月21日 上午11:59:54
     */
    public Result put(String key,Object value) {
    	super.put(key, value);
    	return this;
    }

    /**
     * 设置消息的方法
     * @author gs
     * @param message
     * @return
     * Result
     * 2020年8月25日 上午9:41:13
     */
    private Result setMessage(String message){
        super.put("message",message);
        return this;
    }

    /**
     * 设置状态码的方法
     * @author gs
     * @param statusCode
     * @return
     * Result
     * 2020年8月25日 上午9:41:19
     */
    private Result setCode(Integer statusCode){
        super.put("code",statusCode);
        return this;
    }
}
